home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / G2-070C.ZIP / G2.DOC < prev    next >
Text File  |  1993-01-01  |  26KB  |  565 lines

  1.                                        
  2.                                        
  3.                                        
  4.   
  5.                            Phalcon/Skism's G² 0.70ß
  6.                     The Second Generation in Virus Creation
  7.                              Written by Dark Angel
  8.                                 January 1, 1993
  9.                                        
  10.                   "Where do we think up these cheesy names?"
  11.                                                  -Dark Angel
  12.                                        
  13.   TABLE OF CONTENTS
  14.   TITLE PAGE                                                 i
  15.   TABLE OF CONTENTS                                          i
  16.   DISCLAIMER                                                 i
  17.   PURPOSE                                                   ii
  18.   FEATURES                                                  ii
  19.   RESTRICTIONS                                             iii
  20.   RUNNING G² (HOW DO I GET THE DAMN THING TO WORK?)          1
  21.   G² HAS THE POWER                                           1
  22.   STILL NO IDE                                               1
  23.   MODIFICATION OF GENERATED FILES                            2
  24.   UPGRADES                                                   2
  25.   ADDITIONAL G² FILES                                        3
  26.   PROBLEMS AND FUTURE IMPROVEMENTS                           3
  27.   CONCLUSION                                                 4
  28.   HISTORY OF VIRUS TOOLKITS                                  A
  29.   
  30.   
  31.   
  32.   
  33.   
  34.   
  35.   
  36.   DISCLAIMER
  37.   
  38.        G² is hereby released into the Public Domain, and may not be sold or
  39.   marketed in any form without the permission and written consent from the
  40.   author.  The author retains all copyrights to this program, in either the
  41.   original or modified forms, and no violation, deletion, or change of either
  42.   the copyright notice or this disclaimer is allowed.
  43.   
  44.        G² and the source code generated by said program are not to be used in
  45.   any malicious  or otherwise  irresponsible  manner.    The  author  is  not
  46.   responsible for  any  damages,  incidental  or  otherwise,  resulting  from
  47.   running either  the core  program or  any programs  generated by  it.   The
  48.   program itself is not designed to be damaging and responsibility for proper
  49.   usage and  containment of  any code created by the program (either modified
  50.   or unmodified)  is entirely  placed on the user of G².  All source code and
  51.   executable files  generated either entirely or partially with G² may not be
  52.   distributed  without  the  recipient's  full  knowledge  of  the  contents.
  53.   Malicious use of this code is malicious.
  54.   
  55.        G² is  guaranteed to  exist for  five years or 50,000 miles, whichever
  56.   comes first.
  57.   
  58.   
  59.   
  60.                                                                      i
  61.  
  62.   PURPOSE
  63.   
  64.        G² is  NOT a  modification of  the  Phalcon/Skism  Mass-Produced  Code
  65.   generator; it  is a complete rewrite and functions in a radically different
  66.   manner.   There will  be no  further releases of the PS-MPC, as the project
  67.   represented the amoeba-stage of virus creation.
  68.   
  69.        G², Phalcon/Skism's  newest virus  creation tool, is designed to allow
  70.   everyone easy  access to  computer virus  source code.   More than a simple
  71.   Vienna hack  generator, it  creates viruses  "on-the-fly" as  per the  user
  72.   specifications.   G² is  designed to  be easily maintainable and extensible
  73.   through the  use of  special data  files created  especially for use by the
  74.   program.
  75.   
  76.        G² arrives  after the  Virus Construction  Lab and  the  Phalcon/Skism
  77.   Mass-Produced Code  generator.   These two  excellent code  generators have
  78.   several shortcomings inherent in their design.  First, they only create one
  79.   specific virus  given a specific configuration.  Their design allows for no
  80.   variability in code generation.  Second, upgrading the generated code means
  81.   getting a  new COM  or EXE file.  With the overhead of the IDE code in VCL,
  82.   this  means  redownloading  over  100K  each  release,  most  of  which  is
  83.   redundant.   Although the  PS-MPC is  much  smaller  and  certainly  better
  84.   written, it  still suffers  from the  same lack  of simple  upgrades.   The
  85.   problem arises  because the data needed by the programs for code generation
  86.   are hard coded, and not in easily updated external files.
  87.   
  88.        G², of  course, has none of the problems associated with earlier virus
  89.   generators.   Designed with configurability, variability, and upgradability
  90.   in mind, G² represents the current apex of virus generation.
  91.   
  92.   FEATURES
  93.   
  94.        The  target   audience  of   G²  includes  both  novice  and  advanced
  95.   programmers alike  who wish  to learn  more about  virus  programming.    A
  96.   revolutionary tool  in virus  generation,  G²  is  both  easy  to  use  and
  97.   unparalleled in  performance.   As a  code generator,  it has  a number  of
  98.   features including:
  99.   
  100.     o Easy updates via data files.
  101.     o Accepts MPC-compliant configuration files.
  102.     o Different viruses may be generated from identical configuration files.
  103.     o Small executable size, allowing for speed during load and execution.
  104.     o Still  no IDE - edit the configuration file in your favorite editor and
  105.       rapidly generate  new code;  no need  for lengthy wait while IDE loads,
  106.       allowing you  to work  faster and  have results  quicker.   A  definite
  107.       productivity bonus!
  108.     o Rapid generation of code, once again allowing for fast results.
  109.     o Low memory requirements.
  110.   
  111.   As a virus creation tool, it has the following features:
  112.   
  113.     o Generates compact, easily modified, fully commented, source code.
  114.     o COM/EXE infectors.
  115.     o Resident and nonresident viruses.
  116.     o  Supports   multiple,  semi-polymorphic   encryption   routines   (full
  117.       polymorphism coming soon).
  118.     o Easily upgraded when improvements are needed.
  119.   
  120.        Clearly, G² is the most advanced virus code generator available today.
  121.   
  122.   
  123.                                                                      ii
  124.  
  125.   RESTRICTIONS
  126.   
  127.        Everyone is free to use this program at no charge except for ex-Senior
  128.   Engineers of  Data Plus,  who must  pay off  the American  national debt in
  129.   order to  use this program or view the documentation beyond this page (only
  130.   one or  the other).   Payment  of the  American national debt and a sum not
  131.   less than  said debt  to the  creator of  this program is necessary for the
  132.   privilege of both using the program AND viewing the documentation.  Failure
  133.   to do so will result in a still penalty.
  134.   
  135.        This program and this document are copyrighted materials of Dark Angel
  136.   of Phalcon/Skism.   No  one may  duplicate the  document in  printed  form,
  137.   either in  part or  in full,  without an  appropriate citation.   Ex-Senior
  138.   Engineers of  Data Plus  are not allowed to duplicate either the program or
  139.   the document in any case.
  140.   
  141.   IF YOU  ARE A  SENIOR ENGINEER,  STOP READING NOW.  IF YOU ARE OR KNOW OF A
  142.   SENIOR ENGINEER  WHO HAS  VIOLATED THE  RESTRICTIONS, THEN IT IS YOUR MORAL
  143.   AND CIVIC  DUTY TO  CALL THE  SPA, ASP, PSA, PAS, OR ANY OTHER ORGANIZATION
  144.   WITH SOME  COMBINATION OF  THOSE LETTERS TO REPORT THE VIOLATOR AND TO MAKE
  145.   SURE HE OR SHE IS PUNISHED TO THE FULLEST EXTENT UNDER THE LAW.
  146.   
  147.   
  148.   
  149.   
  150.   
  151.   
  152.   
  153.   
  154.   
  155.   
  156.   
  157.   
  158.   
  159.   
  160.   
  161.   
  162.   
  163.   
  164.   
  165.   
  166.   
  167.   
  168.   
  169.   
  170.   
  171.   
  172.   
  173.   
  174.   
  175.   
  176.   
  177.   
  178.   
  179.   
  180.   
  181.   
  182.   
  183.   
  184.   
  185.   
  186.                                                                      iii
  187.  
  188.   RUNNING G² (HOW DO I GET THE DAMN THING TO WORK?)
  189.   
  190.        Make sure  that the G2.DAT file is in the current directory.  Edit the
  191.   configuration file  to set  the desired parameters.  Then use the following
  192.   simple command to generate the assembly code:
  193.   
  194.             G2 [<datafile>] <configfile1> [[<configfile2>] ...]
  195.   
  196.        Datafile is  an optional  parameter which  allows G² to use other data
  197.   modules in  lieu of the default (G2.DAT).  Configfile refers to the name of
  198.   the configuration  file which  G² uses  to determine the characteristics of
  199.   the generated  virus.   The sample configuration file, G2.CFG, contains all
  200.   the information  you need  to generate  your own  virus.   There can be any
  201.   number of configuration files following the first parameter.  Once invoked,
  202.   G² will dutifully create the source code files.  To assemble, simply follow
  203.   the instructions  found in  the source  code files.   The  source  code  is
  204.   written for Turbo Assembler and will not work with other assemblers without
  205.   modification.
  206.   
  207.   EXAMPLE:
  208.        Let's say  you have created a configuration file called FOOBAR.CFG and
  209.   wish to generate a virus from it.  Simply type:
  210.        G2 FOOBAR.CFG
  211.   and the deed is done.  It doesn't get much simpler than this.
  212.   
  213.   EXAMPLE:
  214.        Let's say  you wish  to create viruses from the data file BLIP.DAT and
  215.   the configuration files BLOP.CFG and BLUP.CFG.  At the DOS prompt, type:
  216.        G2 BLIP.DAT BLOP.CFG BLUP.CFG
  217.   Two files will then be created.
  218.   
  219.   G² HAS THE POWER
  220.   
  221.        The key  to G²'s  power lies  in its  flexibility in  code generation.
  222.   Source code  files created  by G² from identical configuration files almost
  223.   always differ in both size but not in functionality.  G²'s data files allow
  224.   for multiple code segments for each given routine.  Additionally, the lines
  225.   of assembly  within each  routine  may  be  placed  in  different  relative
  226.   positions by  G².  Consequently, few code segments are stable and it should
  227.   therefore be  tough to find a generic scan string for G²-generated viruses.
  228.   Finally, since  G² operates  with  easily-upgraded  data  files,  any  such
  229.   generic scan string is guaranteed to have a very short life, i.e. until the
  230.   next release  of the  data file.  As more routines are added, the number of
  231.   possible viruses  will grow  exponentially, thereby  making a  generic scan
  232.   string approach unwieldy, if not impossible.
  233.   
  234.        Aside from  the inherent power of the code generator, the data file is
  235.   also an  integral part  of the  G² package.   Since it is written in the G²
  236.   metalanguage, it  is easily  upgraded and maintainable.  It is an easy task
  237.   to redesign  the structure  of the  viruses generated  by G²; it's a simple
  238.   matter of  rearranging the  various routines.   This  allows for  both more
  239.   variety in  the generated  viruses as  well as increasing the difficulty of
  240.   finding a single generic scan string for G².
  241.   
  242.   STILL NO IDE (INTEGRATED DEVELOPMENT ENVIRONMENT)
  243.   
  244.   "
  245.        Everyone agrees  that Microsoft  Windows is  for cripples.  Obviously,
  246.   you, the  user of  the PS-MPC, are no cripple, so you need no puny IDE with
  247.   colourful, deluxe  windows to  aid you.  If you are a cripple, go ahead and
  248.   
  249.                                                                      1
  250.  
  251.   create the  configuration file in your favorite Windows text editor.  Hell,
  252.   port the  code to  the Macintosh  and you  can be  truly crippled (although
  253.   you'll have your pretty windows and icons).
  254.   "
  255.                          - From the PS-MPC documentation
  256.   
  257.        Creating an  IDE nowadays  is merely  an exercise in running a package
  258.   designed for  generating a  snazzy interface.   Naturally, this is entirely
  259.   unnecessary and  may not  even be  wanted in many instances, as an IDE adds
  260.   tremendous amounts  of extra code accompanied with a tremendous decrease in
  261.   execution speed.   It's  pretty stupid  to put  an IDE in a code generator;
  262.   there's simply no need.
  263.   
  264.        Several analogies  come to  mind.  The first, of course, is that using
  265.   an IDE  is akin to a walking person intentionally crippling his own legs or
  266.   a sighted  person poking  her own  eyes out.  Using an IDE for no reason is
  267.   like sitting  on a  porcupine, bashing yourself over the head with a brick,
  268.   or jabbing  yourself in the belly with a hot poker for no reason; it's just
  269.   not a good idea.
  270.   
  271.        You want  Windows compatability?   You want customizable colours?  You
  272.   want CUA/SAA-compliant  pull-down menus?  Then go write your own interface.
  273.   You want  speed?  You want tight code generation?  You want to learn how to
  274.   write viruses?  Then G² will do the job nicely.
  275.   
  276.   MODIFICATION OF GENERATED FILES
  277.   
  278.        You are  encouraged to alter the generated source code files.  You may
  279.   add to  the code  in any  way except  for the  addition of  malicious code.
  280.   That's a  no no and is frowned upon.  The source code is commented for easy
  281.   modification.   Everything is open for modification except for the creation
  282.   signature string, [PS/G²].  Leave it in.
  283.   
  284.        Note that  G² includes absolutely no destructive routines in it.  This
  285.   ensures that  those who use G² must do the dirty work themselves.  Any knob
  286.   can write  a hard  drive trashing  routine or  rip such  a routine out of a
  287.   trojan; heck,  any programmer  worth his  salt can  write one in his sleep.
  288.   Remember that  G² is designed not for destruction, but rather for learning.
  289.   In the hands of a knowledgeable user, G² may be quite powerful.
  290.   
  291.   UPGRADES
  292.   
  293.        Although the G² package is designed as a virus creator, it is really a
  294.   generic code  generator.  The G2.COM file processes the G2.DAT data file to
  295.   create the  virus.   The executable  contains no  inherently virus-oriented
  296.   data; it  is all contained in the data file.  This is the key to G²'s power
  297.   and ease of upgrade.
  298.   
  299.        Thus, two  types of upgrades are possible with G2: code and data file.
  300.   Code file  upgrades refer  to changes in the G2.COM file itself.  This will
  301.   occur periodically  as improvements  are needed.   Data  file upgrades  are
  302.   changes in  the G2.DAT  file.  Note that data files are NOT and will NOT be
  303.   compatible across  different  versions  of  G².    This  is  to  allow  for
  304.   improvements to the file format which may be made during a code upgrade.
  305.   
  306.        Each release  of the  code file will be accompanied with a new release
  307.   of the  data file.   This does not necessarily mean that the data module is
  308.   improved; it  is simply a convenience to the user.  The filename of G² code
  309.   file releases  will be  of the format G2-CXXXY.ZZZ where XXX is the version
  310.   number, Y  is either blank or a 'B' to designate a beta release, and ZZZ is
  311.   
  312.                                                                      2
  313.  
  314.   the extension  of the  appropriate archive  format.   The filename  of data
  315.   upgrades will  be of  the form  G2-DXXXY.ZZZ where XXX is the version of G²
  316.   the data  file is  to be used with, Y is a version number of the data file,
  317.   and ZZZ  is once  again the  extension of  the appropriate  archive format.
  318.   This naming scheme is subject to change without notice.
  319.   
  320.   ADDITIONAL G² FILES
  321.   
  322.   Note: This  is not to be confused with the files generated by G2.COM during
  323.   the course  of normal operation, which are to be used freely by the user of
  324.   G².
  325.   
  326.        Due to  the nature of G², there are several files which may eventually
  327.   be made  available.   The first is the compiler module, which generates the
  328.   G2.DAT file  from several  data files.  Along with the compiler module will
  329.   be the data files themselves, which hold the virus code definitions used by
  330.   G² in  creating source  code.   These will  not be  made available for some
  331.   time, at  least until the data module format is stable and I've made pretty
  332.   much all  the improvements  that I  wish to  do.  Target version number for
  333.   release of  these files  is 35.2.9.31(3),  although this  may and  will  be
  334.   changed at will and without notice.
  335.   
  336.        I am not releasing the source code at this point simply because of all
  337.   the hassle  I went  through after  releasing the source to the PS-MPC.  The
  338.   numerous complaints  received from  people who couldn't compile it properly
  339.   (due to  improper setting of compiler switches) showed that it is difficult
  340.   to distribute  a product  in this  form.  For those that are interested, G²
  341.   was written  using Turbo  C 2.0, an excellent product indeed and the source
  342.   code was tested with Tasm 2.5.
  343.   
  344.   PROBLEMS AND FUTURE IMPROVEMENTS
  345.   
  346.        I'm much  happier with  G² and have put more heart into programming it
  347.   than I  had with  the PS-MPC.   Although  I was  initially excited with the
  348.   possibilities of  the PS-MPC,  it was  intrinsically limited and I soon saw
  349.   that it  would grow  too bulky  to keep up.  So I thought up of the idea of
  350.   the data file and so far it's been working pretty well.
  351.   
  352.        Although this  program was  written with  less frenzy than the PS-MPC,
  353.   (it took  3 days  versus the  2 for the PS-MPC) it may have a few remaining
  354.   problems, hence  the preversion  1.0, beta  designation.  The processing of
  355.   the configuration  file is  not contained  within the  data file; I wish to
  356.   change this sometime.  Additionally, I wish to add a bit more functionality
  357.   and variability  into the  code generation  before version  1.0.    Further
  358.   control of the code generation and a batch creation mode will also be added
  359.   before version  1.0.   A few  tidbits to  look for: true polymorphism, boot
  360.   block/partition table/SYS infectors, stealth features, more commenting, and
  361.   improved speed in data file and source code generation.
  362.   
  363.        If you should find problems of your own (euphemism for bug), then make
  364.   sure you  tell me  what is  wrong and it will be fixed as soon as possible.
  365.   If you  have a  suggestion for  an improvement  in the  code, or  even have
  366.   alternate code fragments, then send them to me and they may be incorporated
  367.   into subsequent releases of the data file.
  368.   
  369.        If you should further run into any problems in learning how to use G²,
  370.   then be  sure to  get word  to me.   Even post it on FidoNet if you wish; I
  371.   don't mind  feedback in  a public  forum.  Although I will not stoop to the
  372.   level of  a GUI-making,  toolkit-using programmer-drone, I will try to make
  373.   using G²  as simple as possible and may possibly release a tiny shell which
  374.   
  375.                                                                      3
  376.  
  377.   will automatically place the appropriate parameters in a configuration file
  378.   suitable for use with G².
  379.   
  380.        Of course,  if you  have any positive comments, feel free to post them
  381.   anywhere I'm likely to be; either leave me email at a particular board that
  382.   I frequent  (make sure it's the right Dark Angel) or leave a public message
  383.   on FidoNet  or another net that I am likely to read.  Don't be too critical
  384.   of ex-Senior  Engineers; they  have nothing  better to  do than  bash virus
  385.   writers.
  386.   
  387.   CONCLUSION
  388.   
  389.        G² represents  a new level in modern virus creation.  Although nothing
  390.   can possibly beat either the quality or the thrill of a hand-crafted virus,
  391.   the viruses  generated by G² are quite powerful and useful for learning how
  392.   to write your own viruses.
  393.   
  394.        Where does  it go  from here?   Only  ex-senior engineers of Data Plus
  395.   have been  entrusted by  the government  to know  this secret  information.
  396.   However, secret  agents have  infiltrated the  tight safety net surrounding
  397.   said senior  engineers and this knowledge will be made publically available
  398.   at the appropriate time.
  399.   
  400.   
  401.   
  402.   
  403.   
  404.   
  405.   
  406.   
  407.   
  408.   
  409.   
  410.   
  411.   
  412.   
  413.   
  414.   
  415.   
  416.   
  417.   
  418.   
  419.   
  420.   
  421.   
  422.   
  423.   
  424.   
  425.   
  426.   
  427.   
  428.   
  429.   
  430.   
  431.   
  432.   
  433.   
  434.   
  435.   
  436.   
  437.   
  438.                                                                      4
  439.  
  440.   HISTORY OF VIRUS TOOLKITS
  441.   
  442.   Note:  The   original  text   from  which   this  was   based,  the  PS-MPC
  443.   documentation, has  been copied  extensively  by  journals  such  as  Virus
  444.   Bulletin and  presented as  their own  text.   If you  copy the text, it is
  445.   expected that  you cite  the source.   It's not very nice to plagiarize and
  446.   your mommy might scold you if she knew what you were up to.
  447.   
  448.        The first  known virus  toolkit was  called VCS, or Virus Construction
  449.   Set.   This program  generated a  new virus each time it was run.  However,
  450.   there were  no code differences at all between any two viruses generated by
  451.   VCS.   All viruses  generated were  1077 bytes  in length  and all could be
  452.   detected with  the identical  scan string.   The advantage in this approach
  453.   was that  the user  needed absolutely no knowledge of 8086 assembly to take
  454.   advantage of this program.  This program of limited usefulness spawned only
  455.   one well-known variant called Manta.  It is hardly worth mentioning here.
  456.   
  457.        The second  virus toolkit  was CrazySoft, Inc.'s Dark Avenger Mutation
  458.   Engine (MtE).   This  magnificent work  of Bulgarian  coding allowed  virus
  459.   authors to  create viruses  with an  almost limitless  number of decryption
  460.   routines.   Although the  author needed  to know how to write 8086 assembly
  461.   code, no  knowledge of  the inner workings of MtE save the entry parameters
  462.   was needed  to use  this toolkit.   It  has since  spawned several viruses,
  463.   including Dedicated, Pogue, Fear, and Groove.
  464.   
  465.        The next  virus toolkit  to be released was VCL, or Virus Construction
  466.   Laboratory.  This was written by NoWhere Man of NuKE.  This toolkit allowed
  467.   the user  many options,  including the creation of parasitic COM infectors,
  468.   overwriting COM/EXE  "infectors," spawning  EXE "infectors,"  trojan horses
  469.   and logic  bombs.   The only  thing missing  from this motley assortment of
  470.   formats was the ANSI bomb.  Since it could handle parasitic infections only
  471.   of the  COM file  format, it  was of  limited usefulness.  Additionally, it
  472.   incorporated  only   one  decryption   formula,  once  again  limiting  its
  473.   usefulness.   Further, the  initial release  included a quirky installation
  474.   program which  failed to  install properly  under certain  conditions.   An
  475.   errant pointer  probably contributed  to another  bug,  which  occasionally
  476.   caused garbled  source code  to be  produced.  Perhaps the worst bug of VCL
  477.   was the failure of some of the generated programs to work properly.  On the
  478.   bright side,  however, this package contained a colourful IDE loosely based
  479.   on the  Borland interface.   This  IDE was easy to use and even the average
  480.   Joe could  understand how  to use  it without understanding 80x86 assembly.
  481.   Unfortunately, the  activation routines  included with  the package were of
  482.   limited usefulness.   Most  of these  involved manipulating the BIOS memory
  483.   area at  segment 40h  and seemed  to be  mere  afterthoughts,  rather  than
  484.   planned "features."   Virus researchers quickly dismissed VCL's importance,
  485.   as it  was primarily  an overblown  Vienna hack  generator and incapable of
  486.   generating dangerous  viruses.   The Vienna ancestry of VCL was apparent in
  487.   many of its "options" such as virulence rate and PATH= tracing.  The F-Prot
  488.   which existed  during the  release of  VCL immediately scanned most viruses
  489.   created by  VCL as  Vienna hacks.   VCL  2.0, so  far merely  vaporware, is
  490.   rumored to  fix the previous version's many problems.  However, the package
  491.   will continue  to be  haunted by  its ancestry  and its inherently crippled
  492.   nature due to being a first generation virus creator.
  493.   
  494.        The latest  virus toolkit  was the  Phalcon/Skism  Mass-Produced  Code
  495.   generator (PS-MPC).   Released  shortly after VCL, this product, written by
  496.   Dark Angel,  had none  of the  problems associated with VCL.  Although this
  497.   virus generator didn't create overwriting COM/EXE "infectors," spawning EXE
  498.   "infectors," trojan  horses, or even logic bombs, it could handle parasitic
  499.   COM  and   EXE   infectors   with   ease.      It   also   had   a   random
  500.   
  501.                                                                      A
  502.  
  503.   encryption/decryption algorithm,  allowing well  over 150 possible routines
  504.   in that  area.   Version 0.91ß  incorporated both  resident and nonresident
  505.   infectors.   No previous  virus toolkit  could generate  resident  viruses,
  506.   generic or  otherwise.  Further, the PS-MPC had no IDE to cripple the user,
  507.   clearly an advantage, as the program lacked the overhead associated with an
  508.   IDE.  Thus, the PS-MPC was a good tool for learning how to write viruses as
  509.   well as  an excellent  method of creating good viruses.  The PS-MPC was not
  510.   intended  to   be  used   destructively;  no   destruction  routines   were
  511.   incorporated.   Therefore, irresponsible  dissemination of destructive code
  512.   was not  initiated; rather,  it left  the activation of the virus up to the
  513.   user.   Interestingly, although  released soon  after VCL  1.0, the  PS-MPC
  514.   version 0.90ß  fulfilled the "wish list" for VCL 2.0 and the PS-MPC version
  515.   0.91ß improved  still further, with the capability of creating full-fledged
  516.   resident infectors.  Another bonus was the availability of the source code,
  517.   which allowed extensions of the core program.
  518.   
  519.   
  520.   
  521.   
  522.   
  523.   
  524.   
  525.   
  526.   
  527.   
  528.   
  529.   
  530.   
  531.   
  532.   
  533.   
  534.   
  535.   
  536.   
  537.   
  538.   
  539.   
  540.   
  541.   
  542.   
  543.   
  544.   
  545.   
  546.   
  547.   
  548.   
  549.   
  550.   
  551.   
  552.   
  553.   
  554.   
  555.   
  556.   
  557.   
  558.   
  559.   
  560.   
  561.   
  562.   
  563.   
  564.                                                                      B
  565.